
#ifndef ENTITY_AENTITY_HPP_
# define ENTITY_AENTITY_HPP_

# include "Component/Coordinates.hpp"

namespace	Entity
{
	class	AEntity
	{
		public:
			AEntity();
			AEntity(AEntity const &);

			virtual AEntity const	&operator=(AEntity const &);

			float							getX() const throw();
			float							getY() const throw();
			float							getAngle() const throw();
			Component::Coordinates const	&getCoordinates() const throw();

			void							setCoordinates(Component::Coordinates const &);
			void							setPosition(float, float);
			void							setAngle(float);
			void							setTranslation(float, float);
			void							setRotation(float);
			void							setCoordinatesTranslation(Component::Coordinates const &);

			virtual ~AEntity() throw() = 0;


		private:
			Component::Coordinates	_coords;
	};

	inline AEntity::~AEntity() throw() {}
}

#endif // ENTITY_AENTITY_HPP_
